/**
 * 
 */
package x10.eventServices;

import x10.event.X10Event;

/** X10EventListener interface defines one half of a two-way communication
 *  interface for sending and receiving X10Events.  When both the parent and 
 *  the child implement this interface, it completes the two-way communication
 *  interface.  
 *  
 *  When the parent wants to send an X10Event, it accesses the
 *  child's receiveEvent() method.
 *  
 *  Likewise, when the child wants to promote, or send up, an X10Event, it
 *  accesses the parent's receiveEvent() method.
 *  
 * @author Denny Sheirer
 * @date   20110305
 */
public interface X10EventListener {

    /**
     * receiveEvent() - method to pass an X10event to the implementing
     * class.
     * 
     * @param event - X10Event to be processed by implementing class
     */
    public abstract void receiveEvent(X10Event event);
    
    public abstract String getEventListenerName();
}
